Generating a PWM signal dependent on a duty cycle having a piecewise linear relationship with temperature

ABSTRACT

A system may include a PWM generator and control logic. The PWM generator is configured to generate a PWM signal having a duty cycle dependent on a duty cycle value generated by the control logic. The control logic is configured to generate the duty cycle value to have a piecewise linear relationship with temperature such that at least two of a plurality of linear segments defined by the piecewise linear relationship have different slopes. In some embodiments, the piecewise linear relationship may be continuous.

CONTINUATION DATA

This application is a continuation of application Ser. No. 10/440,745titled “Piecewise Linear Control of the Duty Cycle of a Pulse WidthModulated Signal” filed on May 19, 2003 now U.S. Pat. No. 7,029,239whose inventors are Eileen M. Marando and Robert W. Schoepflin, which ishereby incorporated by reference as though fully and completely setforth herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to pulse width modulation (PWM) and, moreparticularly, to controlling the duty cycle of a pulse width modulatedsignal used to power a fan.

2. Description of the Related Art

Fans are often used to evacuate warm air from enclosures in whichelectronic systems are contained. For example, most computer systemsinclude at least one fan to aid in system cooling. The increased airflowprovided by fans aids in eliminating waste heat that may otherwise buildup and adversely affect system operation.

Control of fans in a system typically involves a fan control unitexecuting a fan control algorithm. A fan control algorithm may determinethe method for controlling one or more fans that are configured toevacuate warm air from a system enclosure. For example, the fan controlalgorithm may specify that a fan's speed should be increased ordecreased dependent upon a detected temperature. Such control algorithmsmay also involve turning off a fan if the temperature is deemed coolenough to do so.

Fan drive systems often use a PWM generator to drive an external circuitthat controls the voltage between the power and ground interfaces of thefan, which in turn controls the speed of the fan. PWMs are usefulbecause they provide a digital control for the pulse width of a signal.The fan is turned on for the duration of the pulse and turned offbetween pulses. The duty cycle of the pulse train currently beingprovided to the fan determines the fan's speed.

One problem that results from using PWMs to drive fan circuits is thatthe fan noise increases when the duty cycle of the PWM is changed.Typically, linear algorithms are used to control how the duty cycle ofthe PWM changes in response to increases in temperature. Thus, the dutycycle of the PWM will undergo the same amount of change per degree oftemperature change, regardless of how the temperature relates to theallowable range of temperatures.

SUMMARY

Various embodiments of a method and apparatus for providing piecewiselinear control of the duty cycle of a pulse width modulator (PWM) aredisclosed. In one embodiment, a system may include a PWM generator andcontrol logic. The PWM generator is configured to generate a PWM signalhaving a duty cycle dependent on a duty cycle value generated by thecontrol logic. The control logic is configured to generate the dutycycle value to have a piecewise linear relationship with temperaturesuch that at least two of a plurality of linear segments defined by thepiecewise linear relationship have different slopes. In someembodiments, the piecewise linear relationship may be continuous.

In one embodiment, the control logic may be configured to store aminimum temperature value and a value indicating a temperature range.The control logic is configured to assign each of a plurality ofportions of the temperature range to a respective one of the pluralityof linear segments. The assigned portions of the temperature range maybe equally or unequally sized, depending on the embodiment.

The piecewise linear relationship may defined by a plurality of linearequations. Each of the linear equations may be associated with aparticular portion of the temperature range. The control logic may beconfigured to receive a temperature value representing a currenttemperature and to select one of the linear equations that is associatedwith the portion of the temperature range that includes the temperaturevalue. The control logic may then process the temperature valueaccording to the selected linear equation to generate the duty cyclevalue. The linear equations may approximate a parabola in someembodiments.

In some embodiments, the slope of one of the linear equations associatedwith a lower portion of the temperature range may be less than the slopeof another one of the linear equations associated with a higher portionof the temperature range.

In one embodiment, the control logic may be configured to store a valueindicating a PWM duty cycle range for each of the linear equations. Thecontrol logic may be programmable to update the value indicating the PWMduty cycle range for each of the plurality of linear equations. Thecontrol logic may also be configured to store and/or update a valueindicating a temperature range for each of the plurality of linearequations.

In one embodiment, the control logic may be configured to selectivelygenerate the duty cycle to have a piecewise linear relationship withtemperature or to have a linear relationship with temperature dependenton the value of a programmable mode register included in the controllogic.

A method may involve powering a fan according to a PWM (pulse widthmodulated) signal and generating a duty cycle of the PWM signal to havea piecewise linear relationship with temperature.

BRIEF DESCRIPTION OF THE DRAWINGS

Other aspects of the invention will become apparent upon reading thefollowing detailed description and upon reference to the accompanyingdrawings in which:

FIG. 1 is a block diagram of a system for controlling a fan, accordingto one embodiment.

FIG. 2 shows the piecewise linear relationship between temperature andPWM duty cycle of a PWM signal generated by a fan controller, accordingto one embodiment.

FIG. 3 shows exemplary PWM duty cycle values and a plot of therelationship between the exemplary PWM duty cycle values andtemperature, according to one embodiment.

FIG. 4 shows a fan controller, according to one embodiment.

While the invention is susceptible to various modifications andalternative forms, specific embodiments thereof are shown by way ofexample in the drawings and will herein be described in detail. Itshould be understood, however, that the drawings and description theretoare not intended to limit the invention to the particular formdisclosed, but, on the contrary, the invention is to cover allmodifications, equivalents, and alternatives falling with the spirit andscope of the present invention as defined by the appended claims.

DETAILED DESCRIPTION OF EMBODIMENTS

FIG. 1 shows an embodiment of a system for powering a fan with a PWM(Pulse Width Modulated) signal. This system includes a controller 10 anda fan 50. A PWM signal generated by fan controller 10 controls whetherthe fan 50 is turned on or not. This system may be included in anenclosure containing various electronic devices. For example, thissystem may be included in a desktop computer chassis or a storage arrayenclosure.

The fan controller 10 includes control logic 22 and a PWM (Pulse WidthModulator) generator 20 configured to generate the PWM signal. Thecontrol logic 22 is configured to provide a value indicative of the dutycycle to the PWM generator 20, and the PWM generator 20 is configured toresponsively generate the PWM signal having that duty cycle. PWMgenerator 20 is an example of a means for powering a fan 50 according toa PWM signal having a duty cycle dependent on a duty cycle value.Control logic 22 is an example of a means for generating a duty cyclevalue having a piecewise linear relationship with temperature. As usedherein, a piecewise linear relationship is a mathematical relationshipdefining several linear segments, at least two of which have differentslopes. A piecewise linear relationship may be continuous ordiscontinuous.

The fan 50 may have two ports (power and ground) or three ports (power,ground, and tachometer) in some embodiments. In some embodiments inwhich the fan 50 has three ports, the fan controller 10 may generate thePWM signal dependent on the fan tachometer signal.

In some embodiments, the PWM signal may be input to fan drive circuitry(not shown) such as a switch. For example, fan drive circuitry mayinclude a switch coupled between the ground input of the fan 50 andground. When the PWM signal is high, the switch may close, connectingthe ground interface of the fan 50 to ground. When the PWM is low, theswitch may open, creating an open circuit between the ground interfaceof the fan 50 and ground. Accordingly, opening the switch by deassertingthe PWM signal turns off the power to the fan 50. Note that the PWMsignal may be an active high or an active low signal. For example, ifthe switch is implemented using a PNP transistor, switch may close whenthe PWM signal is low. In such an embodiment, the switch may be coupledto the power interface of the fan 50 (as opposed to the groundinterface) between the power interface and the power source. When theswitch is closed, the power interface of the fan 50 is connected to thepower source, turning on the fan 50. Note that other embodiments mayinclude different fan drive circuitry or no fan drive circuitry at all(e.g., the PWM signal may be input directly to one of the fan's inputterminals).

As the duty cycle (the ratio of the time in which the PWM signal isasserted to the time in which the PWM signal is deasserted) of the PWMsignal increases, the fan is powered for a greater percentage of timeeach cycle. Consequentially, the fan speed increases. Similarly, as theduty cycle decreases, the fan speed decreases. Thus, fan controller 10may control the speed of the fan 50 by varying the duty cycle of the PWMsignal.

Fan controller 10 may receive an indication of the current temperature(e.g., by detecting the current temperature itself or by receiving adigital or analog signal representing the temperature detected byanother device) and control the fan speed dependent on the currenttemperature. As the temperature increases, the fan controller 10 mayincrease the fan speed in order to provide increased cooling. If thetemperature decreases, the fan controller 10 may decrease the fan speed.If the temperature stabilizes, the fan controller 10 may keep the fanspeed the same. Note that in many embodiments, the fan controller 10 mayvary the duty cycle of the PWM signal according to other parameters inaddition to the current temperature. For example, in some embodiments,the fan controller 10 may detect both the current temperature and therate of temperature change experienced in the most recent period. Insuch embodiments, the fan controller may be configured to selectivelyvary the duty cycle of the PWM signal less at higher values of thetemperature if the temperature is stabilizing than if the temperature isincreasing. Other parameters may also affect how the fan controller 10modifies the duty cycle of the PWM signal.

The fan controller 10 may be configured to generate the PWM signal suchthat a duty cycle of the PWM signal has a piecewise linear relationshipwith temperature. The piecewise linear relationship may be defined byseveral linear equations. When a temperature value is input into the fancontroller 10, the control logic 22 may select one of the linearequations and process the temperature value using the selected linearequation to produce a PWM duty cycle value. The fan controller 10 maygenerate the duty cycle of the PWM signal dependent on the duty cyclevalue produced using the selected linear equation.

In some embodiments, the piecewise linear relationship may becontinuous. To define such a piecewise linear relationship, the controllogic 22 may include several registers 12, 18, and 16 that respectivelystore values indicating the minimum temperature (T_(MIN)) at which thepiecewise linear relationship begins, the temperature range (T_(RANGE))over which the piecewise linear relationship extends, and the minimumPWM duty cycle (PWM_(MIN)) to be generated. The minimum temperatureT_(MIN) is the temperature at which the fan controller 10 is configuredto turn on the fan 50. The minimum PWM duty cycle value PWM_(MIN) is thePWM duty cycle value that will turn on the fan at a desired minimumspeed. In one embodiment, values of temperature may range from −127° C.to +127° C. (note that the fan controller 10 may only respond to alimited range of these values, however). Note that different embodimentsmay provide different temperature resolutions (e.g., fractional portionsof degrees may be specified) and/or ranges.

The control logic 22 may also include several registers 14 that furthercontrol each of the n linear equations that define the continuouspiecewise linear relationship. Each register 14 stores a segment (S)range for one of n segments SA-Sn that each defines the range of dutycycle values generated by a respective one of the linear equations. Thesegment registers may be programmed so that the combined linearequations generate duty cycle values over 100% of the range of PWM dutycycle values from PWM_(MIN) to PWM_(MAX.) Each linear equation may begingenerating values in a PWM duty cycle range that begins immediatelyafter the range of PWM duty cycle values generated by a previousequation.

Note that the registers shown in FIG. 1 are exemplary and that otherregister values may be used in other embodiments instead of and/or inaddition to the illustrated register values. For example, in analternative embodiment, control logic 22 may include registers thatstore a minimum and maximum temperature value but may not include aregister that stores a temperature range. Similarly, in one embodiment,the control logic 22 may be configured to selectively generate the dutycycle to have a piecewise linear relationship with temperature or tohave a linear relationship with temperature dependent on the value of aprogrammable mode register included in the control logic 22.

In one embodiment, registers 12-18 may be programmed to store 8-bitvalues (other embodiments may implement different numbers of bits). Thecontrol logic 22 may be configured to update the values in theseregisters 12-18 in response to receiving new values in some embodiments.For example, if the operating parameters of the system in which fancontroller 10 is included change (e.g., if the system is modified ormoved to a different operating environment), a user may recompute newvalues to store in one or more of the registers 12-18 and reprogram thefan controller 10 with these new values.

The control logic 22 may use the values in registers 12, 14, 16, and 18to determine each of the linear equations that define the piecewiselinear relationship. In the illustrated embodiment, the control logic 22may associate a portion of the temperature range with each of the linearequations. For example, if the control logic 22 supports up to fivelinear equations to define a piecewise linear relationship and thetemperature range is 20 degrees Celsius, the control logic 22 mayassociate a four-degree range with each linear equation. Thus, when theinput temperature is within the first four degrees of the temperaturerange, the control logic 22 may process the input temperature accordingto the first linear equation. When the input temperature is within thenext four degrees of the temperature range, the control logic 22 mayprocess the input temperature according to the second linear equation,and so on. Note that in some embodiments, the control logic 22 may notdivide the temperature range equally when associating portions of thetemperature range with each linear equation. For example, the controllogic 22 may assign a six-degree range to the first linear equation, afive-degree range to the next linear equation, and so on.

In some embodiments, there may be a minimum temperature range (e.g., onedegree Celsius) that may be assigned to each linear equation. Thecontrol logic 22 may vary the number of linear equations that define thepiecewise linear relationship from the default number of linearequations dependent on the selected temperature range and the minimumtemperature range per linear equation. If the total temperature range isless than the product of the default number of linear equations and theminimum temperature range, the control logic 22 may be configured to usefewer than the default number of linear equations so as to be able toassign the minimum temperature range to each linear equation that isused. For example, if the minimum temperature range per linear equationis one degree Celsius, the default number of linear equations is five,and the programmed temperature range is three degrees Celsuis, thecontrol logic 22 may reduce the number of linear equations to use todefine the piecewise linear relationship to three linear equations.

The segment ranges (stored in registers 14) associated with each linearequation may, in conjunction with the temperature range associated witheach linear equation, define the slope of each linear equation.

The various linear equations that define the piecewise linearrelationship may be programmed (e.g., using registers 12-18) toapproximate various curves. For example, in one embodiment, the linearequations may be programmed to approximate a parabola such that thefirst linear equation has a smaller slope than later linear equations.In other embodiments, other curves may be approximated. In someembodiments, the slopes of the various linear segments making up thepiecewise linear relationship may have higher slopes in highertemperature ranges (e.g., each linear segment may have a higher slopethan the linear segment in the next-lowest temperature range). In otherembodiments, successive linear segments may have decreasing slopes, orboth increasing and decreasing slopes.

In many embodiments, less acoustic noise may be generated for smallerchanges in fan speed than for larger changes in fan speed. In someembodiments, the linear equations defining the piecewise linearrelationship may be programmed such that less change in fan speed occursper degree temperature change at lower temperatures than at highertemperatures. By controlling the duty cycle to have such a piecewiselinear relationship with temperature, the amount of change in fan speedmay be reduced at lower temperatures, causing a reduction in the amountof acoustic noise at lower temperatures relative to the amount ofacoustic noise generated at higher temperatures.

FIG. 2 illustrates a plot of a piecewise linear PWM verses temperaturerelationship that may be implemented by control logic 22 in oneembodiment. The x-axis represents temperature and the y-axis representsduty cycle values. In these embodiments, the duty cycle is controlled byan eight-bit duty cycle value, which ranges from 0 (0% duty cycle) to255 (FFh) (100% duty cycle). In such an embodiment, the percentage dutycycle may equal the duty cycle value multiplied by 0.39 (e.g., a 50%duty cycle=128*0.39). Note that other embodiments may implement N-bitduty cycle values, where N has a value other than eight.

As described above, the control logic 22 may calculate an appropriateduty cycle value to control the duty cycle of the PWM signal usingseveral linear equations. In the embodiment of FIG. 2, five linearequations are used to define a continuous piecewise linear relationshipbetween PWM duty cycle and temperature. The output of each linearequation is plotted in a respective one of the five illustratedsegments. As shown, the PWM duty cycle has a continuous relationshipwith temperature. The PWM duty cycle value ranges from PWM_(MIN) toPWM_(MAX) and the temperature ranges from T_(MIN) to T_(MAX). In theillustrated embodiment, the temperature range is divided equally amongthe five linear segments. The earlier segments (e.g., segments 1-3)generate a smaller range of PWM duty cycle values than the lattersegments (e.g., segments 4-5). Note that other embodiments may implementdifferent numbers of segments.

As mentioned above, in order to generate points on the continuous linearsegments shown in FIG. 2, the fan controller may calculate the PWM dutycycle value from the current measured temperature using the variouslinear equations that define the piecewise linear relationship. Thecontrol logic 22 may calculate the PWM duty cycle value in hardware orin software. In some embodiments, the fan controller 10 may beconfigured to not lose significant bits throughout the calculationprocess in order to maintain a desired level of accuracy. Note that thecontrol logic 22 calculates PWM duty cycle values as a function oftemperature (as opposed to simply retrieving PWM duty cycle values froma lookup table). Thus, the control logic 22 may generate a new dutycycle value for each input temperature value across the entire spectrumof potential input temperature values T_(MAX)>Temp>T_(MIN). Note thatthis functionality may be somewhat dependent on the precision at whichthe temperature value and PWM duty cycle value can be represented withinthe fan controller 10.

FIG. 3 illustrates a specific example of values that may be programmedinto control logic 22, according to one embodiment. In FIG. 3, controllogic 22 is programmed with T_(MIN)=50 degrees Celsuis, T_(MAX)=65degrees Celsuis, and PWM_(MIN)=64 h (=100=39% duty cycle). In thisembodiment, control logic 22 is configured to always generatePWM_(MAX)=FFh (=255=100% duty cycle). Five linear equations areimplemented to define a continuous piecewise linear relationship.Control logic 22 is configured to divide the temperature range of 15degrees Celsius equally among the linear equations, so each linearequation is used to calculate duty cycle values over a three-degreerange of input temperature. Specifically, the first equation (used togenerate linear segment 1 in the accompanying plot of PWM duty cyclevalue versus temperature) is assigned the temperature range 50<=t<53degrees Celsius. Equations 2-5 are respectively assigned the ranges:53<t<=56; 56<t<=59; 59<=t<62; and 62<=t<65. Note that in alternativeembodiments, unequally-sized temperature ranges may be assigned tolinear equations. Additionally, in some embodiments, temperature rangesmay be assigned in other ways. For example, the temperature range foreach linear equation may be explicitly programmed (e.g., by updatingregister(s) storing a minimum and/or maximum temperature for each linearequation or by updating a register storing a temperature range for eachlinear equation).

Each linear equation is also assigned a PWM duty cycle value range(e.g., by programming segment registers 14 as shown in FIG. 1). Here,the first equation is assigned a PWM duty cycle range of 04 h (=4=3% ofthe 64 h to FFh range). Thus, since the minimum PWM duty cycle value is64 h (=100=39% duty cycle), the first linear equation generates PWM dutycycle values within the range 64 h to 68 h (=104=41% duty cycle).Similarly, the second linear equation generates PWM duty cycle valuesover a 0 Ch (=12=8%) range from 68 h to 74 h (=116=45% duty cycle). Thethird linear equation generates PWM duty cycle values over a 17 h(=23=15%) range from 74 h to 80 h (=128=50% duty cycle). The fourthlinear equation generates PWM duty cycle values over a 27 h (=39=25%)range from 80 h to A7 h (=167=65% duty cycle). The fifth linear equationgenerates PWM duty cycle values over a 4 Dh (=77=50%) range from A7 h toFFh (=255=100% duty cycle). A plot of the linear segments 1-5 generatedby each linear equation is also shown in FIG. 3.

FIG. 4 illustrates a fan controller 10, according to another embodiment.In this embodiment, the fan controller 10 is configured to generate xPWM signals. Each PWM signal may be generated to have a duty cycledependent on a respective one of x temperature inputs. Alternatively,all or some of the PWM signals may be generated in response to the sametemperature input. Each PWM signal may be generated to have a differentpiecewise linear relationship with a respective temperature.Accordingly, the fan controller 10 may include several sets 40A-40 x ofregisters 12-18. Set 40A includes registers 12A, 18A, 16A, and severalsegment range registers 14A. The other sets 40B-40 x include similarregisters. Each set 40 may be programmed with different values toimplement a different piecewise linear relationship.

Note that at least a portion of the system shown in FIGS. 1 and 4 may beimplemented as an integrated circuit. For example, in one embodiment,the fan controller 10 may be implemented as an integrated circuit. Othersystem functionality (e.g., bus bridge or system controller functions)may also be included in such an integrated circuit in some embodiments.

Numerous variations and modifications will become apparent to thoseskilled in the art once the above disclosure is fully appreciated. It isintended that the following claims be interpreted to embrace all suchvariations and modifications.

What is claimed is:
 1. A system, comprising: a PWM generator configured to generate a PWM (Pulse Width Modulated) signal having a duty cycle dependent on a duty cycle value; and control logic coupled to the PWM generator and configured to generate the duty cycle value to have a piecewise linear relationship with respect to temperature, wherein the piecewise linear relationship is defined by a plurality of linear equations, wherein at least two of the plurality of linear equations defining the piecewise linear relationship have different slopes; wherein the control logic is further configured to vary the number of the linear equations comprised in the plurality of linear equations from a default number of linear equations, according to the value of a specific overall temperature range and a minimum temperature range per linear equation.
 2. The system of claim 1, wherein the control logic is further configured to store a minimum temperature value and the value of the specific overall temperature range, and wherein the control logic is further configured to assign each of a plurality of portions of the specific overall temperature range to a respective one of the plurality of linear equations.
 3. The system of claim 2, wherein the control logic is configured to assign an equal-sized portion of the specific overall temperature range to each of the plurality of linear equations.
 4. The system of claim 1; wherein the control logic is configured to receive a temperature value representing a current temperature and to select one of the plurality of linear equations according to which one of a plurality of portions of a temperature range includes the temperature value; wherein the selected one of the plurality of linear equations is associated with the one of the plurality of portions of the temperature range that includes the temperature value; and wherein the control logic is configured to process the temperature value according to the selected one of the plurality of linear equations to generate the duty cycle value.
 5. The system of claim 4, wherein the control logic is configured to store a value indicating a PWM duty cycle range for each of the plurality of linear equations.
 6. The system of claim 5, wherein the control logic is programmable to update the value indicating the PWM duty cycle range for each of the plurality of linear equations.
 7. The system of claim 4, wherein the control logic is configured to store a value indicating a temperature range for each of the plurality of linear equations.
 8. The system of claim 1, wherein dependent on a value of a programmable mode register included in the control logic, the control logic is configured to selectively generate the duty cycle to have the piecewise linear relationship with respect to temperature or to have a linear relationship with respect to temperature.
 9. The system of claim 1, wherein the control logic is configured to generate a plurality of PWM signals, wherein the control logic is programmable to generate a duty cycle of each of the plurality of PWM signals to have a respective piecewise linear relationship with respect to a respective temperature input.
 10. The system of claim 1, wherein the piecewise linear relationship with respect to temperature is a continuous piecewise linear relationship.
 11. A method, comprising: powering a fan according to a PWM (pulse width modulated) signal; generating a duty cycle of the PWM signal to have a piecewise linear relationship with respect to temperature, wherein the piecewise linear relationship is defined by respective linear equations, wherein at least two of the respective linear equations have different slopes; assigning respective portions of a specific overall temperature range to the respective linear equations; and varying the number of the respective linear equations from a default number of respective linear equations, according to the value of the specific overall temperature range and the value of a minimum temperature range per respective linear equation.
 12. The method of claim 11, further comprising: storing a minimum temperature value and the value of the specific overall temperature range.
 13. The method of claim 11, wherein the respective portions of the specific overall temperature range is are equally sized.
 14. The method of claim 11, wherein said generating comprises: receiving a temperature value representing a current temperature and selecting one of the respective linear equations corresponding to one of the plurality of portions of the specific overall temperature range that includes the temperature value; and processing the temperature value according to the selected one of the respective linear equations to determine the duty cycle of the PWM signal.
 15. The method of claim 14, further comprising storing a value indicating a PWM duty cycle range for each of the respective linear equations.
 16. The method of claim 11, further comprising selectively generating the duty cycle of the PWM signal to have a linear relationship with respect to temperature or the piecewise relationship with respect to temperature dependent on a value of a programmable mode register.
 17. The method of claim 11, further comprising generating a duty cycle of each of a plurality of PWM signals to have a respective piecewise linear relationship with respect to a respective temperature.
 18. A system, comprising: means for powering a fan according to a PWM (pulse width modulated) signal having a duty cycle dependent on a duty cycle value; means for generating the duty cycle value having a piecewise linear relationship with respect to temperature, wherein the piecewise linear relationship is defined by respective linear equations, wherein at least two of the respective linear equations have different slopes; means for storing a value indicative of a specific overall temperature range, and a value indicative of a minimum temperature range per respective linear equation; means for assigning respective portions of the specific overall temperature range to the respective linear equations; and means for varying the number of the respective linear equations from a default number of respective linear equations, according to the value of the specific overall temperature range and the value of the minimum temperature range per respective linear equation.
 19. A system, comprising: a PWM generator configured to generate a PWM (Pulse Width Modulated) signal having a duty cycle dependent on a duty cycle value; and control logic coupled to the PWM generator and configured to generate the duty cycle value to have a piecewise linear relationship with respect to temperature defined by a plurality of linear equations that together approximate a curve; wherein the control logic is further configured to receive a temperature value representing a present temperature and to select one of the plurality of linear equations according to which one of a plurality of portions of a temperature range includes the temperature value, wherein the selected one of the plurality of linear equations is associated with the one of the plurality of portions of the temperature range that includes the temperature value; and wherein the control logic is further configured to vary the number of the linear equations comprised in the plurality of linear equations from a default number of linear equations, according to the value of the temperature range and the value of a minimum temperature range per linear equation.
 20. A system, comprising: a PWM generator configured to generate a PWM (Pulse Width Modulated) signal having a duty cycle dependent on a duty cycle value; and control logic coupled to the PWM generator and configured to generate the duty cycle value to have a piecewise linear relationship with respect to temperature defined by a plurality of linear equations, wherein a respective slope of each successive one of the plurality of linear equations is higher than a respective slope of any preceding one of the plurality of linear equations; wherein the control logic is further configured to receive a temperature value representing a present temperature and to select one of the plurality of linear equations according to which one of a plurality of portions of a temperature range includes the temperature value, wherein the selected one of the plurality of linear equations is associated with the one of the plurality of portions of the temperature range that includes the temperature value; and wherein the control logic is further configured to vary the number of the linear equations comprised in the plurality of linear equations from a default number of linear equations, according to the value of the temperature range and the value of a minimum temperature range per linear equation.
 21. A method, comprising: powering a fan according to a PWM (pulse width modulated) signal; generating a duty cycle of the PWM signal to have a piecewise linear relationship with respect to temperature defined by a plurality of linear equations that together approximate a curve, wherein each of the plurality of linear equations corresponds to one of a plurality of portions of a temperature range, wherein said generating comprises: receiving a temperature value representing a present temperature, and selecting one of the plurality of linear equations corresponding to one of the plurality of portions of the temperature range that includes the temperature value; and processing the temperature value according to the selected one of the plurality of linear equations to determine the duty cycle of the PWM signal; and varying the number of the linear equations comprised in the plurality of linear equations from a default number of linear equations, according to the value of the temperature range and the value of a minimum temperature range per respective linear equation.
 22. A method, comprising: powering a fan according to a PWM (pulse width modulated) signal; generating a duty cycle of the PWM signal to have a piecewise linear relationship with respect to temperature defined by a plurality of linear equations associated with respective portions of a temperature range, wherein a slope of one of the plurality of linear equations associated with a lower one of the respective portions of the temperature range is less than a slope of another one of the plurality of linear equations associated with a higher one of the respective portions of the temperature range, wherein said generating comprises: receiving a temperature value representing a present temperature, and selecting one of the plurality of linear equations corresponding to one of the respective portions of the temperature range that includes the temperature value; and processing the temperature value according to the selected one of the plurality of linear equations to determine the duty cycle of the PWM signal; and varying the number of the linear equations comprised in the plurality of linear equations from a default number of linear equations, according to the value of the temperature range and the value of a minimum temperature range per linear equation.
 23. A system, comprising: means for powering a fan according to a PWM (pulse width modulated) signal having a duty cycle dependent on a duty cycle value; means for generating the duty cycle value having a piecewise linear relationship with respect to temperature defined by a plurality of linear equations that together approximate a curve; means for receiving a temperature value representing a present temperature; means for selecting one of the plurality of linear equations according to which one of a plurality of portions of a temperature range includes the temperature value, wherein the selected one of the plurality of linear equations is associated with the one of the plurality of portions of the temperature range that includes the temperature value; and means for varying the number of the linear equations comprised in the plurality of linear equations from a default number of linear equations, according to the value of the temperature range and the value of a minimum temperature range per linear equation.
 24. A system, comprising: means for powering a fan according to a PWM (pulse width modulated) signal having a duty cycle dependent on a duty cycle value; means for generating the duty cycle value having a piecewise linear relationship with respect to temperature defined by a plurality of linear equations, wherein a respective slope of each successive one of the plurality of linear equations is higher than a respective slope of any preceding one of the plurality of linear equations; means for receiving a temperature value representing a present temperature; means for selecting one of the plurality of linear equations according to which one of a plurality of portions of a temperature range includes the temperature value, wherein the selected one of the plurality of linear equations is associated with the one of the plurality of portions of the temperature range that includes the temperature value; and means for varying the number of the linear equations comprised in the plurality of linear equations from a default number of linear equations, according to the value of the temperature range and the value of a minimum temperature range per linear equation. 